Skip to content

mujoco: add build-mujoco.yml for riscv64 wheels - #1728

Open
luhenry wants to merge 3 commits into
mainfrom
mujoco
Open

mujoco: add build-mujoco.yml for riscv64 wheels#1728
luhenry wants to merge 3 commits into
mainfrom
mujoco

Conversation

@luhenry

@luhenry luhenry commented Sep 10, 2026

Copy link
Copy Markdown
Member

Compiles the MuJoCo physics engine plus its pybind11 Python bindings, using upstream's own two-stage CMake flow (core library, then bindings against it) rather than cibuildwheel. Upstream publishes no riscv64 wheel.

Mirrors upstream's .github/workflows/build.yml/build_steps.sh (configure_mujoco/build_mujoco/install_mujoco, then build_python_bindings against MUJOCO_PATH).

Differs from upstream

  • Studio (Filament GUI, dear_imgui/implot) and OpenUSD dropped - Filament needs Vulkan/Metal tooling with no riscv64 story, USD is a separate heavy build.
  • Classic GLFW viewer (mujoco.viewer) kept, mirroring the already-published glfw riscv64 port's X11/Wayland dnf packages.
  • All native deps (ccd, qhull, tinyxml2, tinyobjloader, lodepng, miniz, pybind11, glfw) build from source via CMake FetchContent.

Testing

  • same as upstream (pytest --pyargs mujoco), plus an mj_step smoke test.

License: OK - Apache-2.0, wheel carries upstream's LICENSE and LICENSES_THIRD_PARTY.md.

CI running; will update with pass/skip counts once the first build completes.

luhenry added a commit that referenced this pull request Sep 10, 2026
cp312/cp313/cp314t all hung at the exact same point (render_test.py's
setUp creating a second mujoco.GLContext via GLFW) and were killed only
by the 360-minute job timeout - not a slow build, a genuine hang, as
each build had already reached the test phase within ~70 minutes.

Upstream's own CI sets MUJOCO_GL: disable for its "Test Python bindings"
step precisely to skip GLContext-dependent tests on headless runners;
mirroring that here removes the hang instead of masking it with a
bigger timeout.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant